package com.zzyl.service;

import com.aliyun.iot20180120.models.QueryDeviceDetailRequest;
import com.aliyun.iot20180120.models.QueryDevicePropertyStatusRequest;
import com.aliyun.iot20180120.models.QueryThingModelPublishedResponseBody;
import com.zzyl.base.PageBean;
import com.zzyl.dto.DeviceDto;
import com.zzyl.dto.DevicePageQueryDto;
import com.zzyl.dto.QueryDeviceDataDto;
import com.zzyl.vo.DeviceDataGraphVo;
import com.zzyl.vo.DevicePropertyStatusVo;
import com.zzyl.vo.DeviceVo;
import com.zzyl.vo.ProductVo;

import java.util.List;

public interface DeviceService {

    void syncProductList();

    List<ProductVo> selectallProduct();

    void RegisterDevice(DeviceDto dto);

    PageBean<DeviceVo> query(DevicePageQueryDto dto);

    DeviceVo queryDeviceDetail(QueryDeviceDetailRequest deviceDetailRequest);

    DevicePropertyStatusVo queryDevicePropertyStatus(QueryDevicePropertyStatusRequest request);

    void updatedevice(DeviceDto dto);

    void delete(DeviceDto dto);

    List<DeviceDataGraphVo> day(QueryDeviceDataDto dto);

    List<DeviceDataGraphVo> week(QueryDeviceDataDto dto);

    QueryThingModelPublishedResponseBody.QueryThingModelPublishedResponseBodyData selectid(DeviceDto dto);
}
